package com.example.mapper;

import com.example.bean.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface AdminMapper {

    // 管理员登录
    UserBean getLoginInfo(String userId, String password);

    // 获取管理员信息
    UserBean displayInfo(String userId);

    // 修改管理员信息
    boolean updateInfo(String id, String name, String phone, String email);

    // 新增导师
    boolean addTeacher(String id, String name, String phone, String email);

    // 新增管理员
    boolean addAdmin(String id, String name, String password, String phone, String email);

    // 新增活动
    boolean addProject(String id, String name, String start, String end, String description);

    // 新增评审链接
    boolean addReview(String id, String name, String start, String end, String description);

    // 查看所有活动
    List<ProjectBean> displayProjects();

    // 查看参加某活动的所有团队
    List<TeamBean> displayTeams(String projectId);//todo：查询参加某活动的所有团队

    // 查看某活动某团队的报告
    ReportBean display_report(String project_id, String team_id);

    // 查看所有评审
    List<ReviewBean> display_reviews();

    // 查看该活动，该团队所有评审意见
    List<Review> display_team_reviews(String team_id);

    // 获取最大管理员号(用于注册新管理员是id++)
    String getMaxId();

    // 获取最大活动id,查找前六位和年月匹配且最大的id
    String getMaxProjectId(String YEAR_MONTH);
    List<UserBean> find_all_teachers();
    //新增负责该评审的老师们
    boolean add_review_teacher(
            String project_id,
            String teacher_id);

    //查找评审对应活动
    ProjectBean match_exist_project(String project_id);
}